/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Negocio;

import Basicas.Materazzi;
import java.io.IOException;
import java.util.Timer;
import javax.microedition.lcdui.game.Sprite;

/**
 *
 * @author Marcio
 */
public class NegocioMaterazzi {

    public static final String DIREITA = "Direita";
    public static final String ESQUERDA = "Esquerda";
    public static final String CIMA = "Cima";
    public static final String BAIXO = "Baixo";
    private Materazzi materazzi;
    private Timer timer;
    private SpriteAnimationTask animator;
    public static final int SPEED = 1;
    private String ultimaDirecao = DIREITA;
    private int qntidadeAndada = 0;

    public NegocioMaterazzi(int[] qntdMovimento, int pX, int pY) {
        try {
            this.materazzi = new Materazzi(qntdMovimento, pX, pY);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        this.timer = new Timer();
        this.animator = new SpriteAnimationTask(this.materazzi.getSpriteMaterazzi(), false);
        this.timer.scheduleAtFixedRate(this.animator, 0, this.materazzi.getMaterazziDelay());

    }

    public Sprite getSpriteMaterazzi() {
        return this.materazzi.getSpriteMaterazzi();
    }

    public void movimentar() {
        this.animator.forward();
    }

    public void movimentarMaterazzi() {
        if (this.ultimaDirecao.equals(DIREITA)) {
            if (qntidadeAndada == 0) {
                this.materazzi.getSpriteMaterazzi().setFrameSequence(materazzi.getMaterazziDireita());
                this.materazzi.getSpriteMaterazzi().setTransform(Sprite.TRANS_NONE);
            }
            this.movimentar();
            this.materazzi.getSpriteMaterazzi().move(SPEED, 0);
            this.qntidadeAndada += 1;
            if (this.qntidadeAndada == this.materazzi.getQtdMovimento()[0]) {
                this.ultimaDirecao = BAIXO;
                this.qntidadeAndada = 0;

            }

        } else if (this.ultimaDirecao.equals(ESQUERDA)) {
            if (qntidadeAndada == 0) {
                this.materazzi.getSpriteMaterazzi().setFrameSequence(materazzi.getMaterazziEsquerda());
                this.materazzi.getSpriteMaterazzi().setTransform(Sprite.TRANS_NONE);
            }
            this.movimentar();
            this.materazzi.getSpriteMaterazzi().move(-SPEED, 0);
            this.qntidadeAndada += 1;
            if (this.qntidadeAndada == this.materazzi.getQtdMovimento()[0]) {
                this.ultimaDirecao = CIMA;
                this.qntidadeAndada = 0;
            }
        } else if (this.ultimaDirecao.equals(CIMA)) {
            if (qntidadeAndada == 0) {
                this.materazzi.getSpriteMaterazzi().setFrameSequence(materazzi.getMaterazziFrente());
                this.materazzi.getSpriteMaterazzi().setTransform(Sprite.TRANS_NONE);
            }
            this.movimentar();
            this.materazzi.getSpriteMaterazzi().move(0, +SPEED);
            this.qntidadeAndada += 1;
            if (this.qntidadeAndada == this.materazzi.getQtdMovimento()[1]) {
                this.ultimaDirecao = DIREITA;
                this.qntidadeAndada = 0;
            }
        } else if (this.ultimaDirecao.equals(BAIXO)) {
            if (qntidadeAndada == 0) {
                this.materazzi.getSpriteMaterazzi().setFrameSequence(materazzi.getMaterazziCosta());
                this.materazzi.getSpriteMaterazzi().setTransform(Sprite.TRANS_NONE);
            }
            this.movimentar();
            this.materazzi.getSpriteMaterazzi().move(0, -SPEED);
            this.qntidadeAndada += 1;
            if (this.qntidadeAndada == this.materazzi.getQtdMovimento()[1]) {
                this.ultimaDirecao = ESQUERDA;
                this.qntidadeAndada = 0;
            }


        }

    }
}
